package Controlador;
import java.awt.Window;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Vector;

import javax.swing.JOptionPane;

import Vista.VistaMenu;
import Vista.VistaIngrediente;
import Modelo.Ingrediente;
import Modelo.IngredienteporProducto;
import Modelo.Producto;
import Modelo.Accion;


public class CntrlIngrediente implements ActionListener,ItemListener{
	
	VistaIngrediente vistaIngrediente;
	Accion accion=new Accion();

	
	public CntrlIngrediente(VistaIngrediente vistaIng)
	{
		vistaIngrediente=vistaIng;
		
	}
	
	
	public void actionPerformed(ActionEvent ae) {
		String opcion=(String)ae.getActionCommand();
		if(opcion.equals("Registrar")){
			Ingrediente ingrediente= new Ingrediente(vistaIngrediente.txtCodigo.getText(),vistaIngrediente.txtNombre.getText(),Float.parseFloat(vistaIngrediente.txtCantidad.getText()));
		    accion.registrarIngrediente(ingrediente);
		    JOptionPane.showMessageDialog(null, "El Ingrediente ha sido registrado", 
					"REGISTRO ingrediente", 
					JOptionPane.INFORMATION_MESSAGE);
		
		}
		
		if(opcion.equals("Buscar")){
			boolean encontrado;
			Ingrediente ingrediente;
		    encontrado=accion.consultarIngrediente(vistaIngrediente.txtCodigo.getText());
		      if(encontrado){
		    	  ingrediente=accion.ObtenerIngrediente(vistaIngrediente.txtCodigo.getText());
		    	  vistaIngrediente.txtNombre.setText(ingrediente.getNombreIngrediente());
		    	  vistaIngrediente.txtCantidad.setText(String.valueOf(ingrediente.getCantidad()));
		    }
		    else{
		    	JOptionPane.showMessageDialog(null, "El Producto no ha sido registrado", 
						"REGISTRO Producto", 
						JOptionPane.INFORMATION_MESSAGE);
		    	vistaIngrediente.btnRegistrar.setEnabled(true);
		    }
		}
		if(opcion.equals("Modificar")){
			Ingrediente ingrediente= new Ingrediente(vistaIngrediente.txtCodigo.getText(),vistaIngrediente.txtNombre.getText(),Float.parseFloat(vistaIngrediente.txtCantidad.getText()));
		   accion.modificarProducto(vistaIngrediente.txtCodigo.getText(),ingrediente);
		   JOptionPane.showMessageDialog(null, "El Producto ha sido modificado ", 
					"REGISTRO Producto", 
					JOptionPane.INFORMATION_MESSAGE);
		}
		if(opcion.equals("Eliminar")){
		    accion.eliminarProducto(vistaIngrediente.txtCodigo.getText());
		    JOptionPane.showMessageDialog(null, "El Producto ha sido eliminado", 
					"REGISTRO Producto", 
					JOptionPane.INFORMATION_MESSAGE);
		}
		if(opcion.equals("    Salir   ")){
			vistaIngrediente.dispose();
		}
		
				
	}
	
	private boolean validarCampos(){
		boolean sw= false;
		if ((!vistaIngrediente.txtCodigo.getText().equals("")) && (!vistaIngrediente.txtNombre.getText().equals("")) && (!vistaIngrediente.txtCantidad.getText().equals("")))
		    sw=true;
		return sw;
		
	}

	private void limpiar() {
		vistaIngrediente.txtCodigo.setEditable(true);
		vistaIngrediente.btnBuscar.setEnabled(true);
		vistaIngrediente.txtCodigo.setText("");
		vistaIngrediente.txtNombre.setText("");
		desActivar();
	}
	private void desActivar(){
		vistaIngrediente.txtNombre.setEnabled(false);
		vistaIngrediente.btnRegistrar.setEnabled(false);
		//vistaIngrediente.btnEliminar.setEnabled(false);
		vistaIngrediente.txtCodigo.requestFocus(true);
	}
	private void activar(){
		vistaIngrediente.txtNombre.setEditable(true);
		vistaIngrediente.btnLimpiar.setEnabled(true);
		vistaIngrediente.btnRegistrar.setEnabled(true);
		//vistaIngrediente.btnEliminar.setEnabled(true);
		vistaIngrediente.txtNombre.requestFocus(true);
	}
	
	@Override
	public void itemStateChanged(ItemEvent arg0) {
		vistaIngrediente.repaint();
		
	}
}	

